package com.sc.nft.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sc.nft.entity.Search;
import com.sc.nft.entity.dto.SearchEditDTO;
import com.sc.nft.entity.dto.SearchExistListDTO;
import com.sc.nft.entity.dto.SearchSaveDTO;
import com.sc.nft.entity.dto.SearchStartAndStopDTO;
import com.sc.nft.entity.vo.SearchExistListVO;
import com.sc.nft.entity.vo.SearchListVO;

import java.util.List;

/**
 * 搜索配置(Search)表服务接口
 *
 * @author 王伟成
 * @since 2024-03-05 14:07:14
 */
public interface SearchService {

    /**
     * 获取展示集合列表
     *
     * @return
     */
    List<SearchListVO> displayList();
    List<SearchListVO> displayListForUser(Long userId);

    /**
     * 存在的可用列表(后台管理端使用接口)
     *
     * @param searchExistListDTO
     * @return
     */
    IPage<SearchExistListVO> existList(SearchExistListDTO searchExistListDTO);



    /**
     * 新增一条搜索标签
     *
     * @param searchSaveDTO
     * @return
     */
    void save(SearchSaveDTO searchSaveDTO);

    /**
     * 修改一个搜索选项
     *
     * @param searchEditDTO
     */
    void edit(SearchEditDTO searchEditDTO);
    /**
     * 启动或停用搜索项
     *
     * @param searchStartAndStopDTO
     */
    void startAndStop(SearchStartAndStopDTO searchStartAndStopDTO);

}
